﻿using System;
using System.Collections.Generic;
using Meqs.Entity;

namespace Meqs.Logic.Interface
{
    public interface IMoralityItemLogic : ICommonLogic<MoralityItem, int>
    {
        /// <summary>
        /// 获取德育项目
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        IList<MoralityItemView> GetMoralityItemList(string schoolMark);

        /// <summary>
        /// 获取德育项目
        /// </summary>
        /// <param name="schoolYear"></param>
        /// <param name="term"></param>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        IList<MoralityItemView> GetMoralityItemList(string schoolMark, int schoolYear, int term);

        /// <summary>
        /// 获取德育小类
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="typeID"></param>
        /// <returns></returns>
        IList<MoralityItem> GetItemByType(string schoolMark, int typeID);

        /// <summary>
        /// 获取德育单项
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="itemID"></param>
        /// <returns></returns>
        MoralityItem GetItemByID(string schoolMark, int itemID);

        /// <summary>
        /// 删除项
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="rid"></param>
        /// <returns></returns>
        int DeleteByTypeId(string schoolMark, int typeId);

        /// <summary>
        /// 删除德育项
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="rid"></param>
        /// <returns></returns>
        int DeleteById(string schoolMark, int rid);

        /// <summary>
        /// 操作德育项 增删
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <param name="listAdd"></param>
        /// <param name="listDel"></param>
        /// <returns></returns>
        int SaveMoralityItem(string schoolMark, List<MoralityItem> listAdd, List<MoralityItem> listDel);
    }
}